/*
 * main.h
 *
 *  Created on: 06.06.2009
 *      Author: Admin
 */
#ifndef MAIN_H_
#define MAIN_H_


#include "config_main.h"



#include <stdlib.h>
#include <XPLMProcessing.h>
#include <XPLMPlugin.h>

#ifdef DDENN_DUMMY_DATAREFS
#include "dummy_datarefs.h"
#endif

#ifdef DDENN_LOCAL_TIME
#include "local_time.h"
#endif

#ifdef DDENN_INS_GARMIN_GMA_340
#include "ins_garmin_gma_340.h"
#endif

#ifdef DDENN_INS_GARMIN_GTX_327
#include "ins_garmin_gtx_327.h"
#endif

#ifdef DDENN_INS_ACCELEROMETER_AM9
#include "ins_accelerometer_am9.h"
#endif

#ifdef DDENN_COMMANDS
#include "commands.h"
#endif

#ifdef DDENN_TIMERS
#include "timers.h"
#endif

#ifdef DDENN_TIMERS_DOWN
#include "timers_down.h"
#endif

#ifdef DDENN_DATAREFS_SAVE
#include "datarefs_save.h"
#endif



float	MyFlightLoopCallback(
                                   float                inElapsedSinceLastCall,
                                   float                inElapsedTimeSinceLastFlightLoop,
                                   int                  inCounter,
                                   void *               inRefcon);



#ifndef LIN
PLUGIN_API int DllMain( HANDLE hModule,DWORD  ul_reason_for_call,LPVOID lpReserved);
#endif


PLUGIN_API int XPluginStart(
						char *		outName,
						char *		outSig,
						char *		outDesc);

PLUGIN_API void	XPluginStop(void);

PLUGIN_API void XPluginDisable(void);

PLUGIN_API int XPluginEnable(void);

PLUGIN_API void XPluginReceiveMessage(
					XPLMPluginID	inFromWho,
					long			inMessage,
					void *			inParam);

float	MyFlightLoopCallback(
                                   float                inElapsedSinceLastCall,
                                   float                inElapsedTimeSinceLastFlightLoop,
                                   int                  inCounter,
                                   void *               inRefcon);



#endif /* MAIN_H_ */
